import { _decorator } from "cc";
import NSyncStateComponent from "../../../ngame/sync/state/NSyncStateComponent";
import NSyncServer from "./NSyncServer";

declare const CC_EDITOR;

const { ccclass, property,executeInEditMode } = _decorator;

// @executeInEditMode(true)
@ccclass("NWorld2Component")
export default class NWorld2Component extends NSyncStateComponent{

    //是否同步
    isSync:boolean = true;

    onLoad(){
        this.init();
    }

    //初始化
    init(){

        if(!this.isSync) return;

        // if(CC_EDITOR){
        //     //如果是编辑器中执行 则使用 nodeid
        //     if(this.node.uuid)
        //         this.nId = `${this.node.uuid}`;
        // }else{

        //     //初始化同步ID
        //     if(!this.nId)
        //         this.nId = `${NSyncServer.getIns().nextNId()}`;

        // }

        // if(!CC_EDITOR){
        //     this.sync = NSyncServer.getIns();
        //     //向服务器添加同步组件
        //     NSyncServer.getIns().nSyncComponents.set(this.nId,this);
    
        //     console.log(`[${this.nId}] 加入同步组件`,this);
        // }
        
        //初始化同步ID
        if(!this.nId)
            this.nId = `${NSyncServer.getIns().nextNId()}`;

        this.sync = NSyncServer.getIns();
        //向服务器添加同步组件
        NSyncServer.getIns().nSyncComponents.set(this.nId,this);

        console.log(`[${this.nId}] 加入同步组件`,this);
        
    }

    update(dt){
        super.update(dt);
    }

}

